<?php

//说明
//  直接调用该PHP就可以，会自动做登陆校验，取得对应的Uin，再去取对应的AppID
//
define('BASE_PATH', get_cfg_var('path_base_open'));

$Ret=array();
//登陆校验
$Uin=CheckLogin();
if( $Uin == false )
{
    $Ret["ret"]="-1";
    $Ret["msg"]="登陆校验失败";
}

//获取AppId
$Data=Process(1940644915);
if( empty($Data) )
{
    $Ret["msg"]="获取数据失败";
    $Ret["ret"]="-2";
}

$Ret["ret"]="0";
$Ret["data"]=array("appId" => $Data);

//输出Json格式
echo json_encode($Ret);


//======================函数定义=========================
function Process($Uin)
{
    $RequestURL="http://10.130.2.56/user/userInterface.php";
    $RequestHost="pms.yun.qq.com";
   
    $BodyData=array(); 
    $tmpData=array();

    //构造POST请求中的data数据体
    $tmpData["clientIp"]="127.0.0.1";
    $tmpData["uin"]=$Uin;

    //构造POST请求的数据体
    $BodyData["data"]=$tmpData;
    $BodyData["interfaceName"]="getAppPermission";
    $BodyData["passWord"]="open";
    $BodyData["userName"]="open";

    //处理成JSon格式
    $RequestBody=json_encode($BodyData);

    //准备发POST请求
    $RequestHeader=array( "Host: " . $RequestHost );

    //POST过程
    $Response=SendPost($RequestURL, $RequestHeader, $RequestBody);

    //处理响应数据
    $AppIdRet=ReadAppId($Response, $Uin);

    return $AppIdRet;
}


/*
 * 发送Post请求
 * @param string $Url           请求的URL串，例如:"http://10.2.3.4./xxx.php"
 * @param array $Header         要增加到HTTP请求头的Array数据，注意不是Array["Host:"]="xxxx"的对应array
 * @param string $Body          要发送的请求体数据
 */
function SendPost($Url, $Header, $Body)
{
    $CurlHandle=curl_init();

    //设置为POST请求
    curl_setopt($CurlHandle, CURLOPT_POST, true);
    //设置请求URL
    curl_setopt($CurlHandle, CURLOPT_URL, $Url);
    //设置要发送的POST数据体
    curl_setopt($CurlHandle, CURLOPT_POSTFIELDS, $Body);
    //设置在调用curl_exec时返回原始结果
    curl_setopt($CurlHandle, CURLOPT_RETURNTRANSFER, true);
    //设置HTTP请求头,注意Header的类型必需只能是array，而不是map类型的array映射
    curl_setopt($CurlHandle, CURLOPT_HTTPHEADER, $Header);

    return curl_exec($CurlHandle);
}

/* 
 * 获取对应Uin的AppID信息
 * @param string $Content       要处理的原始字符串
 * @param string $Uin           当前主人的Uin信息
 */
function ReadAppId($Content, $Uin)
{
    $AppID=array();
    $AllData=json_decode($Content, true);
    $ArrayData=$AllData["data"];

    foreach( $ArrayData as $Value)
    {
        //只保存符合Uin的AppId
        if( $Value["owner"] == $Uin )
        {
            array_push($AppID, $Value["appId"]);
        }
    }
    return $AppID;
}


/*
 * 登陆态校验
 */
function CheckLogin()
{
    require_once BASE_PATH . 'baselib/Ext/qp_misc.inc.php';

    $uin = qp_ptsess_getuin();
    if( $uin == false || $uin < 10000 )
    {
        return false;
    }

    return $uin;
}

?>
